package com.j283_5.wisdom_park.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.j283_5.wisdom_park.pojo.ContractTable;
import com.j283_5.wisdom_park.pojo.Peree;
import com.j283_5.wisdom_park.pojo.Person;
import com.j283_5.wisdom_park.vo.contract_management.CollectionRecordVo;
import com.j283_5.wisdom_park.vo.contract_management.ContractTableVo;
import com.j283_5.wisdom_park.vo.tenant_management.PereeRoomTenVo;
import com.j283_5.wisdom_park.vo.tenant_management.Peree_CommentsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 租户表 Mapper 接口
 * </p>
 *
 * @author laoda
 * @since 2022-04-28
 */
@Mapper
public interface PereeMapper extends BaseMapper<Peree> {

    /**
     * 多添加查询租户信息
     * @param pereeCommentsVo
     * @return
     */
    List<Peree_CommentsVo> findPeree_CommentsVo(
            @Param("pereeCommentsVo")Peree_CommentsVo pereeCommentsVo,
            @Param("start") Integer start,
            @Param("limit") Integer limit
    );

    /**
     * 条数
     * @param pereeCommentsVo
     * @return
     */
    Long findPeree_CommentsCount(
            @Param("pereeCommentsVo")Peree_CommentsVo pereeCommentsVo
    );

    /**
     * 根据id查询租户基本信息
     * @param perId
     * @return
     */
    List<Peree> findPereeInfoById(
        @Param("perId")Integer perId
    );

    /**
     * 根据租户id查询人员信息
     * @param person
     * @param start
     * @param limit
     * @return
     */
    List<Person> findPersonByPerId(
            @Param("person")Person person,
            @Param("start") Integer start,
            @Param("limit") Integer limit
    );

    /**
     * 条数
     * @return
     */
    Long findPersonByPerIdCount(
            @Param("person")Person person
    );

    /**
     * 查询租户合同信息
     * @param perId
     * @return
     */
    List<ContractTableVo> findPereeContract(
            @Param("perId")Integer perId
    );

    /**
     * 查询租户房间信息
     * @param perId
     * @return
     */
    List<ContractTableVo> findPereeRoom(
            @Param("perId")Integer perId
    );

    /**
     * 根据租户id查询收款信息
     * @param perId
     * @return
     */
    List<CollectionRecordVo> findCollectionByPereeId(@Param("perId")Integer perId);

    /**
     * 人员插入返回id
     * @param person
     * @return
     */
    int insertPereePerson(
            @Param("person")Person person
    );

    /**
     * 合同插入返回id
     * @return
     */
    int insertPereeContract(
            @Param("contractTable") ContractTable contractTable
    );

    /**
     * 进入租户信息新增页面
     * @return
     */
    List<PereeRoomTenVo> findPereeRoomTenVo();
}
